In the past, audio recordings and transmissions were primarily handled in a continuous, analog format, whereby the audio information is conveyed as fluctuations in voltage or frequency. Some analog audio examples include phonographic records, cassette tapes, AM/FM radio transmissions, television broadcasts, etc. However, with the advent of the information age, audio data is increasing being stored and transmitted in a digital format. In a digital format, the audio information is stored, manipulated, and transmitted as a series of discrete bits (i.e., "1's" and "0's") of data. Some examples of digital audio include compact discs, CD-ROM discs, optical disk drives, fiber optics, multi-media, etc. Indeed, some television broadcasts (e.g., Digital Satellite System--DSS) and telephone communications are now being transmitted entirely in a digital format.
In order to facilitate the transfer and interface of digital data, an Internet Protocol (IP) was established. As part of the IP protocol, a User Datagram Protocol (UDP), and a Transmission Control Protocol (TCP) were set up. Although these protocol have been used to send audio and video data, they are susceptible to errors. In particular, UDP is unreliable by design. And although TCP lets one retransmit a dropped packet, it is not "real-time" enough for streamed audio. Generally, packets of data may inadvertently be dropped or lost. Commonly, the original data may become corrupted and garbled due to noise or other external interferences. Moreover, parts of the original data may be irrecoverable due to attenuation as the data is transmitted over long distances. These errors can seriously degrade the overall audio quality. Often, these errors result in audible "clicks" and "pops." Even small amounts of error can severely impair the listening enjoyment of high-fidelity music. Errors during voice communications can be quite annoying and distracting.
Great effort has been expended in attempting to ensure audio integrity. However, it is virtually impossible to guarantee 100% error-free transmission all of the time. In the past, designers have devised complicated error detection and correction schemes. In one such prior art scheme, an error detection coding is used to detect the occurrence of an error. Once an error has been detected, the party receiving the erroneous data requests that the missing or compromised packet of data be retransmitted. Although this prior art error detection/correction scheme is fairly effective, its main disadvantage is that it cannot be readily applied to real-time applications. It is too complex and takes too much time to correct errors in real-time audio applications where audio is being transmitted "live."
For instance, video teleconferencing is becoming very popular as an alternative to actually traveling and conducting the meeting in person. In the future, more and more workers will be working from their homes and "telecommuting" in to work. Anyone with a modem can hook up to the Internet, local area networks, wide area networks, etc. and exchange communications. In this manner, doctors, executives, engineers, designers, artists, financiers, etc., can conveniently share their thoughts, creations, and ideas over these computer networks. Presently, companies are developing interactive cable systems with "smart" set-top boxes. These systems would allow its users to selectively order TV movies and music, browse and shop for merchandise, conduct banking and finance transactions, etc., all from the convenience of their own homes.
Due to the wide proliferation of real-time audio applications and the problems encountered with transmission errors, there is a real need in the prior art for an apparatus and method to handle these errors. It would be preferable if such an apparatus and method were simple, fast, and yet, effective. The present invention offers such a solution.